package msg

const (
	LoginMsgType       = "LoginMsg"
	LoginResMsgType    = "LoginResMsg"
	RegisterMsgType    = "RegisterMsgType"
	RegisterResMsgType = "RegisterResMsgType"

	NotifyUserStatusType = "NotifyUserStatusType"

	SmsMesType = "SmsMesType"
)

// 用户状态
const (
	UserOnline = iota
	UserOffline
	UserBiz
)

type Message struct {
	Type string `json:"type"`
	Data string `json:"data"`
}

type LoginMsg struct {
	UserId   int    `json:"userId"`
	Pwd      string `json:"pwd"`
	Username string `json:"username"`
}

type LoginResMsg struct {
	UserIds []int  `json:"userIds"` // 在线用户id
	Code    int    `json:"code"`    // 500 未注册
	Error   string `json:"error"`
}

type RegisterMsg struct {
	User User `json:"user"`
}

type RegisterResMsg struct {
	Code  int    `json:"code"`
	Error string `json:"error"`
}

type NotifyUserStatus struct {
	UserId int `json:"userId"`
	Status int `json:"status"`
}

// sms
type SmsMes struct {
	Content string        `json:"content"`
	User    `json:"user"` // 匿名结构体
}
